package com.example.testcases;

import com.example.common.BaseTest;
import com.example.pojo.ExcelPojo;
import io.qameta.allure.*;
import io.restassured.response.Response;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import lombok.extern.slf4j.Slf4j;
import java.util.List;


@Epic("用户登录接口")//Allure报表注解。
@Feature("用户登录")
@Slf4j
public class LoginTestDemo extends BaseTest {

    @Description("用户登录接口验证")
    @Severity(SeverityLevel.NORMAL)
    @Story("回归测试")
    @Test(dataProvider = "getLoginDatas")
    public void testLdapLogin(ExcelPojo excelPojo) {
        excelPojo = casesReplace(excelPojo);
        Response response = request(excelPojo, "登录");
        assertResponse(excelPojo, response);
    }

    @DataProvider
    public Object[] getLoginDatas() {
        List<ExcelPojo> excelPojos = readAllExcelData(1);
        return excelPojos.toArray();
    }

    //@AfterClass
    public void tearDown() {
        // 添加后置操作，即若有生成测试数据，则进行删除。建议添加一个删除接口，如果暂无删除接口，只能对数据库进行操作。
        log.info("后置操作开始");
    }
}
